.th TBL VI 2/2/75
.sh NAME
tbl \*- format tables for nroff or troff
.sh SYNOPSIS
.bd tbl
[ files ] ...
.sh DESCRIPTION
.it Tbl
is an nroff (I)
or troff(I)
preprocessor for formatting tables.
The input files are copied to the standard output,
except for lines between .TS and .TE
command lines, which are assumed to describe tables
and reformatted.
The first line after .TS specifies
the various columns: it consists of a list of column
describers separated by blanks or tabs. Each column
describer is a character string
made up of the letters `n', `r', `c', `l' and `s',
which mean:
.lp +4 4
.sp 
c	center within the column
.lp +4 4
.if n .sp 1
.if t .sp .3
r	right-adjust
.lp +4 4
.if n .sp 1
.if t .sp .3
l	left-adjust
.lp +4 4
.if n .sp 1
.if t .sp .3
n	numerical adjustment: the units digits of numbers are aligned.
.lp +4 4
.if n .sp 1
.if t .sp .3
s	span the previous entry over this column.
.if n .sp 1
.if t .sp .3
.i0
.s3
The column describer
may be followed
by an integer
giving the number of spaces between this column and the next; 3 is default.
The describer
`ccr5' indicates that the first two lines in this column are
centered; the third and remaining lines are right-adjusted; and
the column should be separated
from the column to the right by 5 spaces.
Letting \\t represent a tab (which must be typed as a genuine tab)
the input
.s3
.nf
	.TS
	cccl sccn sscn
	Household Population
	Town\\tHouseholds
	\\tNumber\\tSize
	Bedminster\\t789\\t3.26
	Bernards Twp.\\t3087\\t3.74
	Bernardsville\\t2018\\t3.30
	Bound Brook\\t3425\\t3.04
	Branchburg\\t1644\\t3.49
	Bridgewater\\t7897\\t3.81
	Far Hills\\t240\\t3.19
	.TE
.fi
yields
.nf
.TS
.nr 49 0
.nr 50 0
.nr 47 \n(49+\w'Town'+1n
.if \n(47-\n(50 .nr 50 \n(47
.nr 47 \n(49+\w''+1n
.if \n(47-\n(50 .nr 50 \n(47
.nr 47 \n(49+\w'Bedminster'+1n
.if \n(47-\n(50 .nr 50 \n(47
.nr 47 \n(49+\w'Bernards Twp.'+1n
.if \n(47-\n(50 .nr 50 \n(47
.nr 47 \n(49+\w'Bernardsville'+1n
.if \n(47-\n(50 .nr 50 \n(47
.nr 47 \n(49+\w'Bound Brook'+1n
.if \n(47-\n(50 .nr 50 \n(47
.nr 47 \n(49+\w'Branchburg'+1n
.if \n(47-\n(50 .nr 50 \n(47
.nr 47 \n(49+\w'Bridgewater'+1n
.if \n(47-\n(50 .nr 50 \n(47
.nr 47 \n(49+\w'Far Hills'+1n
.if \n(47-\n(50 .nr 50 \n(47
.nr 30 \n(49+\w'Household Population'+1n
.nr 51 0
.nr 47 \n(50+\w'789'+4n
.if \n(47-\n(51 .nr 51 \n(47
.nr 47 \n(50+\w'3087'+4n
.if \n(47-\n(51 .nr 51 \n(47
.nr 47 \n(50+\w'2018'+4n
.if \n(47-\n(51 .nr 51 \n(47
.nr 47 \n(50+\w'3425'+4n
.if \n(47-\n(51 .nr 51 \n(47
.nr 47 \n(50+\w'1644'+4n
.if \n(47-\n(51 .nr 51 \n(47
.nr 47 \n(50+\w'7897'+4n
.if \n(47-\n(51 .nr 51 \n(47
.nr 47 \n(50+\w'240'+4n
.if \n(47-\n(51 .nr 51 \n(47
.nr 31 \n(50+\w'Households'+4n
.nr 52 0
.nr 48 \n(50+\w'Households'+0n
.if \n(48-\n(52 .nr 52 \n(48
.nr 48 \n(50+\w'Number'+0n
.if \n(48-\n(52 .nr 52 \n(48
.nr 47 \n(51+\w''+1n
.if \n(47-\n(52 .nr 52 \n(47
.nr 47 \n(51+\w''+1n
.if \n(47-\n(52 .nr 52 \n(47
.nr 47 \n(51+\w''+1n
.if \n(47-\n(52 .nr 52 \n(47
.nr 47 \n(51+\w''+1n
.if \n(47-\n(52 .nr 52 \n(47
.nr 47 \n(51+\w''+1n
.if \n(47-\n(52 .nr 52 \n(47
.nr 47 \n(51+\w''+1n
.if \n(47-\n(52 .nr 52 \n(47
.nr 47 \n(51+\w''+1n
.if \n(47-\n(52 .nr 52 \n(47
.nr 47 \n(51+\w''+1n
.if \n(47-\n(52 .nr 52 \n(47
.nr 53 0
.nr 47 \n(52+\w'3'+4n
.if \n(47-\n(53 .nr 53 \n(47
.nr 47 \n(52+\w'3'+4n
.if \n(47-\n(53 .nr 53 \n(47
.nr 47 \n(52+\w'3'+4n
.if \n(47-\n(53 .nr 53 \n(47
.nr 47 \n(52+\w'3'+4n
.if \n(47-\n(53 .nr 53 \n(47
.nr 47 \n(52+\w'3'+4n
.if \n(47-\n(53 .nr 53 \n(47
.nr 47 \n(52+\w'3'+4n
.if \n(47-\n(53 .nr 53 \n(47
.nr 47 \n(52+\w'3'+4n
.if \n(47-\n(53 .nr 53 \n(47
.nr 54 0
.nr 48 \n(52+\w'Size'+0n
.if \n(48-\n(54 .nr 54 \n(48
.nr 47 \n(53+\w''+1n
.if \n(47-\n(54 .nr 54 \n(47
.nr 47 \n(53+\w'.26'+1n
.if \n(47-\n(54 .nr 54 \n(47
.nr 47 \n(53+\w'.74'+1n
.if \n(47-\n(54 .nr 54 \n(47
.nr 47 \n(53+\w'.30'+1n
.if \n(47-\n(54 .nr 54 \n(47
.nr 47 \n(53+\w'.04'+1n
.if \n(47-\n(54 .nr 54 \n(47
.nr 47 \n(53+\w'.49'+1n
.if \n(47-\n(54 .nr 54 \n(47
.nr 47 \n(53+\w'.81'+1n
.if \n(47-\n(54 .nr 54 \n(47
.nr 47 \n(53+\w'.19'+1n
.if \n(47-\n(54 .nr 54 \n(47
.if \n(30-\n(54 .nr 54 \n(30
.if \n(31-\n(54 .nr 54 \n(31
.fc  @
.ta \n(54u 
@Household Population@   
.ta \n(50u \n(54u 
@Town@   @Households@   
.ta \n(50u \n(52u \n(54u 
@@   @Number@   @Size@   
.ta \n(50u \n(51u \n(52u \n(53u \n(54u 
Bedminster@   @789@   @3.26@   
Bernards Twp.@   @3087@   @3.74@   
Bernardsville@   @2018@   @3.30@   
Bound Brook@   @3425@   @3.04@   
Branchburg@   @1644@   @3.49@   
Bridgewater@   @7897@   @3.81@   
Far Hills@   @240@   @3.19@   
.fc
.TE
.fi
.s3
.s3
If no arguments are given,
.it tbl
reads the standard input,
so it may be used as a filter.
When it is used with
.it eqn
or
.it neqn
the
.it tbl
command should be first, to minimize the volume
of data passed through
pipes.
.sh BUGS
No column describer may end with `s'.
